package base.collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CollectionsStudy {
	public static void main(String[] args) {
	 //初始化集合numbers
    List<Integer> numbers = new ArrayList<>();
     
    for (int i = 0; i < 10; i++) {
        numbers.add(i);
    }
    
    System.out.println("集合中的数据:");
    System.out.println(numbers);
     
    Collections.reverse(numbers);//reverse 使List中的数据发生翻转
    System.out.println("翻转后集合中的数据:");
    System.out.println(numbers);
    Collections.shuffle(numbers);//shuffle 混淆List中数据的顺序
    
    System.out.println("混淆后集合中的数据:");
    System.out.println(numbers);
    Collections.sort(numbers);//sort 对List中的数据进行排序
    System.out.println("排序后集合中的数据:");
    System.out.println(numbers);
    Collections.swap(numbers, 0, 5);//交换两个下标数据的位置
    System.out.println("交换对应下标后集合中的数据:");
    System.out.println(numbers);
    Collections.rotate(numbers, 2);//把List中的数据，向右滚动指定单位的长度
    System.out.println("向右滚动2个单位后集合中的数据:");
    System.out.println(numbers);
    
    //synchronizedList 把非线程安全的List转换为线程安全的List。
    System.out.println("把非线程安全的List转换为线程安全的List");
    List<Integer> synchronizedNumbers = (List<Integer>) Collections.synchronizedList(numbers);
    System.out.println(synchronizedNumbers);
	}
}
